//package org.example.weboj.util;
//
//import org.example.weboj.entity.User;
//import org.example.weboj.mapper.UserMapper;
//import org.junit.jupiter.api.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//
//import java.time.LocalDateTime;
//import java.util.Arrays;
//import java.util.List;
//
///**
// * Standalone utility to generate test users for the application.
// * Run this class directly to populate the database with test users.
// */
////@SpringBootApplication
////@ComponentScan(basePackages = "org.example.weboj")
//@SpringBootTest
//public class GenerateTestUsers{
//
//    @Autowired
//    private UserMapper userMapper;
//
//    @Test
//    public void generateUserData() {
//        try {
//            // 生成测试用户
//            generateTestUsers();
//            System.out.println("测试用户生成成功！");
//        } catch (Exception e) {
//            System.err.println("生成测试用户时出错: " + e.getMessage());
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 生成测试用户账户
//     */
//    private void generateTestUsers() {
//        // 测试用户数据
//        List<User> testUsers = Arrays.asList(
//            createUser("admin", "admin123", "admin@example.com", "admin"),
//            createUser("user1", "password123", "user1@example.com", "user"),
//            createUser("user2", "password123", "user2@example.com", "user"),
//            createUser("testuser", "123456", "test@example.com", "user")
//        );
//
//        // 插入用户数据
//        for (User user : testUsers) {
//            userMapper.insertUser(user);
//            System.out.println("已创建测试用户: " + user.getUsername());
//        }
//    }
//
//    /**
//     * 创建用户对象
//     */
//    private User createUser(String username, String password, String email, String role) {
//        User user = new User();
//        user.setUsername(username);
//        user.setPasswordHash(PasswordUtil.encryptPassword(password));
//        user.setEmail(email);
//        user.setRole(role);
//        user.setCreatedAt(LocalDateTime.now());
//        return user;
//    }
//}
